package org.grayrabbit.cms.security;

import java.util.List;
import java.util.Map;

import org.grayrabbit.cms.vo.system.OperCodeCheckBean;


public interface PermissionChecker {
	/**后台管理员*/
	public static final String USER_TYPE_ADMIN = "admin";
	/**前台会员，注册用户等*/
	public static final String USER_TYPE_USER = "member";
	/**企业超级管理员*/
	public static final String USER_TYPE_ESP_ADMIN = "espAdmin";
	/**
	 * 目标对象类型为uri请求，此时对应的targetObj为String uri值（namespace+actionName+methodName）
	 */
	public static final String TARGET_TYPE_URI = "uri";
	public boolean check(SecurityUser user,Object targetObj,String targetType, Map<String, Object> params, List<OperCodeCheckBean> list);
	/**
	 * 诉求网判断用户激活
	 * @param targetObj
	 * @param targetType
	 * @return
	 */
	public boolean isActivation(Object targetObj, String targetType);
}
